package com.zc.timedown.service;

import com.zc.common.core.domain.entity.SysDictData;
import com.zc.timedown.dto.CategoryDTO;

import java.util.List;

/**
 * ClassName:ApiCategoryService
 * Description:
 * DateTime: 2025/10/28 15:30
 * Author: zc
 * Version: 1.0
 */
public interface ApiCategoryService {
    List<SysDictData> selectCategoryList(String dictType, Long userId);

    /**
     * 新增分类
     *
     * @param category 分类信息
     * @return 影响行数
     */
    int insertCategory(SysDictData category);

    /**
     * 修改分类
     *
     * @param category 分类信息
     * @param userId 用户ID
     * @return 影响行数
     */
    int updateCategory(SysDictData category, Long userId);

    /**
     * 批量删除分类
     *
     * @param dictCodes 分类编码数组
     * @param userId 用户ID
     * @return 影响行数
     */
    int deleteCategoryByIds(Long[] dictCodes, Long userId);

    /**
     * 检查分类是否可以删除
     * 默认分类不能删除
     *
     * @param dictCode 分类编码
     * @return 是否可以删除
     */
    boolean checkCategoryDeletable(Long dictCode);
}
